﻿#pragma once
#include "afxdialogex.h"


// CTabMusicPlayer 对话框

class CTabMusicPlayer : public CDialogEx
{
	DECLARE_DYNAMIC(CTabMusicPlayer)

public:
	CTabMusicPlayer(CWnd* pParent = nullptr);   // 标准构造函数
	virtual ~CTabMusicPlayer();

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_TAB_MUSIC_PLAYER };
#endif


	CTreeCtrl mTree;
	CListCtrl mList1;

	int gLine;
	int gPage;
	int gMax;
	int gQty;
	uint32_t gLoadTick;
	bool gAllList;				// 读取全部歌曲列表
	bool gPartList;				// 读取部分歌曲列表

	int gPlayIdx;				// 
	int gFileTime;

	char* pDisp;	
	char gListsPath[MAX_PATH];
	uint16_t gSetIndex;
	uint32_t gKeyTick;
	uint8_t gPlayOperate;									// 多媒体文件控制模式 B7:6=改变
	uint8_t gChange;										// B15:14 = 改变

	void ShowRegister();
	void ShowSlider(int position);
	void MakeFilePath();
	void ShowAccount(bool init);
	int GetSongName(char* bytes, int SIZEOF, int index);	// 读取歌曲名
	void SetSongName(int index, char* name);				// 写入歌曲名

	int GetSongTime(char* bytes, int SIZEOF, int index);	// 读取歌曲时长
	void SetSongTime(int index, char* time);				// 写入歌曲时长

	void SetSongLength(int length);							// 写入列表总数量
	int GetSongInfo(char* bytes, int SIZEOF, char* key);	// 读取列表总数量

	int GetText(char* bytes, int SIZEOF, char* name, int index);	// 读取文件内容
	void SetText(char* name, int index, char* text);				// 写入文件内容
	//int GetQty();											// 读取设备数量
	void MakeTickTime();										// 

	void SetValue(char* name, int index, int value);
	int GetValue(char* name, int index);

	void SetListDbs(int now);		// 写入列表数据

	void SetReg16(uint16_t* addr, uint16_t value);

	void ShowSpace(int position, int col);
	void setLineText(int position, int sub, char* row);
	void ShowLine(int position, char* row1, char* row2);
	void ShowDns();
	void DispList();


protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV 支持

	DECLARE_MESSAGE_MAP()
public:
	virtual BOOL OnInitDialog();
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnBnClickedBtnStop();
	afx_msg void OnBnClickedBtnPause();
	afx_msg void OnBnClickedBtnPlay();
	afx_msg void OnBnClickedBtnFastBack();
	afx_msg void OnBnClickedBtnFastForward();
	afx_msg void OnBnClickedBtnSkipDn();
	afx_msg void OnBnClickedBtnSkipUp();
	afx_msg void OnNMCustomdrawSliderVolume(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnBnClickedBtnMuteOpen();
	afx_msg void OnBnClickedBtnMuteClose();
	afx_msg void OnBnClickedBtnRandom();
	afx_msg void OnBnClickedBtnRepeat();
	afx_msg void OnBnClickedBtnReadPartList();
	afx_msg void OnBnClickedBtnReadAllList();
	afx_msg void OnBnClickedBtnMusicSd();
	afx_msg void OnBnClickedBtnMusicUdisk();
	afx_msg void OnBnClickedButtonLogin();
	afx_msg void OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult);
};
